#!/usr/local/bin/python
# -*- coding: utf-8 -*-
#格式对象 class指定类 def指定类下面的函数  parameter 函数使用的参数 注意的是这是一个数组 {"class":"api.login","fun":"logins","parameter":[0,11,22]}
#压缩json json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))
#from api.select import calls
#import json

class distribute:
    BUG=False
    olddata=""

    #def __init__(self,*args):      
    def __init__(self):
        self.BUG = True
        self.olddata=""

    def call(self,user_id,data):
        try:
            classs=data["module"]
            fun=data["fun"]
            parameter=data["parameter"]
            print("准备载入文件")
            #动态载入模块
            mymodule=__import__(classs, globals(), locals(), [fun], 0)
            #动态运行函数
            print("准备运行函数")
            funcs = getattr(mymodule ,fun, None)
            print("自动运行函数")
            if funcs:
                pl=len(parameter)
                if(pl==0):
                    return  funcs(user_id)
                elif(pl==1):
                    return  funcs(user_id,parameter[0])
                elif(pl==2):
                    return  funcs(user_id,parameter[0],parameter[1])
                elif(pl==3):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2])
                elif(pl==4):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2],parameter[3])
                elif(pl==5):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2],parameter[3],parameter[4])
                elif(pl==6):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2],parameter[3],parameter[4],parameter[5])
                elif(pl==7):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2],parameter[3],parameter[4],parameter[5],parameter[6])
                elif(pl==8):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2],parameter[3],parameter[4],parameter[5],parameter[6],parameter[7])
                elif(pl==9):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2],parameter[3],parameter[4],parameter[5],parameter[6],parameter[7],parameter[8])
                elif(pl==10):
                    return  funcs(user_id,parameter[0],parameter[1],parameter[2],parameter[3],parameter[4],parameter[5],parameter[6],parameter[7],parameter[8],parameter[9])
                else:
                    return ""
            else:
                print("函数加载失败")
                return ""
            
        except ImportError:
            raise SystemExit
        
        return ""
    